﻿using System;
using System.Collections.Generic;

namespace PMngr.Data
{
    public class Profile
    {
        public int UserId { get; set; }
        public string Name { get; set; }
        public string Nationality { get; set; }
        public DateTime? BirthDate { get; set; }
        public string Gender { get; set; }
        public string NativePlace { get; set; }
        public virtual ItemBase SchoolRecord { get; set; }
        public virtual ItemBase SchoolLevel { get; set; }
        public virtual ItemBase PolicyFace { get; set; }
        public DateTime? MarriedDate { get; set; }
        public string Separation { get; set; }
        public string College { get; set; }
        public string Major { get; set; }
        public string HomeTown { get; set; }

        public virtual Unit InUnit { get; set; }
        public string OriginalIn { get; set; }
        public string OriginalInUpUnit { get; set; }
        public string OriginalInUnitType { get; set; }
        public string OriginalInUnitKind { get; set; }
        public virtual Unit OutUnit { get; set; }
        public string OriginalOut { get; set; }
        public string OriginalOutUpUnit { get; set; }
        public string OriginalOutUnitType { get; set; }
        public string OriginalOutUnitKind { get; set; }

        public string ProfPos { get; set; }
        public string ProfTitle { get; set; }
        public virtual ItemBase PersonalIdentity { get; set; }
        public virtual ItemBase TechGrade { get; set; }
        public string WorkKind { get; set; }
        public DateTime? WorkStart { get; set; }
        public string SalaryGrade { get; set; }
        public string Family { get; set; }
        public DateTime RecordDate { get; set; }
        public virtual ItemBase TransferReason { get; set; }
        public string Remark1 { get; set; }
        public string Remark2 { get; set; }
        // 修改时间
        public DateTime? ModifiedDate { get; set; }
        // 审批时间
        public DateTime? ApprovalDate { get; set; }
        // 打印审批卡片时间
        public DateTime? PrintDate { get; set; }
        // 整体划转标志
        public virtual WholeTransfer WholeTransfer { get; set; }
        // 调动类型     false -> 调入, true -> 调出
        public bool TransferKind { get; set; }
    }

    public class WholeTransfer
    {
        // 整体划转标志
        public int Id { get; set; }
        public string InUnit { get; set; }
        public string OutUnit { get; set; }
        public string TransferFile { get; set; }
        public string Description { get; set; }

        public DateTime RecordDate { get; set; }
        public DateTime? ApprovalDate { get; set; }
        public bool Approved { get; set; }

        public virtual ICollection<Profile> Profiles { get; set; }
        // 调动类型
        public bool TransferKind { get; set; }
    }
}
